ExtJS এ Store একটি গুরুত্বপূর্ণ অংশ যা ডেটা ম্যানেজমেন্টের জন্য ব্যবহৃত হয়। এটি ডেটাকে অ্যাপ্লিকেশনে ধারণ, পরিচালনা এবং প্রদর্শন করার জন্য কাজ করে। Store একটি নির্দিষ্ট মডেল বা ডেটার কাঠামোর সাথে যুক্ত থাকে এবং ডেটাকে কন্টেইনার হিসাবে ব্যবহৃত হয়। Store এর মাধ্যমে ডেটা ফিল্টার, সোর্ট, এবং পেজিনেশন করা যায়, যা অ্যাপ্লিকেশন ডেভেলপমেন্টের সময় ডেটা ম্যানিপুলেশন অনেক সহজ করে তোলে।
Store হল একটি ডেটা স্ট্রাকচার যা ExtJS অ্যাপ্লিকেশনে ডেটা লোড, ম্যানিপুলেট এবং হ্যান্ডল করার জন্য ব্যবহৃত হয়। এটি মূলত Model এর সাথে সম্পর্কিত থাকে এবং ডেটা রিট্রিভ এবং স্টোরিংয়ের জন্য একাধিক টুলস এবং ফিচার সরবরাহ করে, যেমন ডেটা ফিল্টার, সোর্টিং, পেজিনেশন, এবং ডেটা রিফ্রেশ।
Store সাধারণত Ajax বা WebSocket এর মাধ্যমে সার্ভার থেকে ডেটা ফেচ করে এবং তা UI তে প্রদর্শন করতে সহায়ক হয়।
এখানে একটি সাধারণ ExtJS Store উদাহরণ দেওয়া হলো, যেখানে একটি User মডেল ব্যবহার করে ডেটা লোড করা হবে।
Ext.define('MyApp.model.User', {
extend: 'Ext.data.Model',
fields: [
{ name: 'id', type: 'int' },
{ name: 'name', type: 'string' },
{ name: 'email', type: 'string' }
]
});
Ext.define('MyApp.store.Users', {
extend: 'Ext.data.Store',
model: 'MyApp.model.User',
proxy: {
type: 'ajax',
url: '/users', // সার্ভার থেকে ডেটা ফেচ করার URL
reader: {
type: 'json',
rootProperty: 'data'
}
},
autoLoad: true // অ্যাপ্লিকেশন লোড হওয়ার সময় স্বয়ংক্রিয়ভাবে ডেটা লোড করা
});
Ext.create('Ext.grid.Panel', {
title: 'User List',
store: {
type: 'Users' // UsersStore ব্যবহার করা হবে
},
columns: [
{ text: 'ID', dataIndex: 'id', flex: 1 },
{ text: 'Name', dataIndex: 'name', flex: 2 },
{ text: 'Email', dataIndex: 'email', flex: 3 }
],
renderTo: Ext.getBody()
});
এখানে, UsersStore একটি Store যা User মডেল ব্যবহার করে এবং /users
URL থেকে ডেটা লোড করে। UserGrid কম্পোনেন্ট এই Store এর ডেটা প্রদর্শন করে।
Read more